package com.tbit.uqbike.object.pojo.dto;

import com.tbit.uqbike.annos.Excel;
import lombok.Data;

import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;

/**
 * 卡券使用记录入参
 * @author <a href="mailto:liu.haoxiang@tbit.com.cn">BUGXiang</a>
 * @version 1.0
 * @since 2025-2-12
 */
@Data
public class CardUsageDTO {

    private Integer page;

    private Integer size;

    /**
     * 品牌id
     */
    private Integer brandId;

    /**
     * 购卡运营区
     */
    private String buyCardAccountIds;
    /**
     * 购卡运营区
     */
    private List<Integer> buyCardAccountIdList;
    /**
     * 使用运营区
     */
    private String useCardAccountIds;
    /**
     * 使用运营区
     */
    private List<Integer> useCardAccountIdList;
    /**
     * 卡券类型
     */
    private String cardTypes;

    /**
     * 卡券类型
     */
    private List<Integer> cardTypeList;
    /**
     * 卡券名称
     */
    private String cardName;

    /**
     * 骑行订单号
     */
    private String orderNO;
    /**
     * 使用开始时间
     */
    private Date startTime;
    /**
     * 使用结束时间
     */
    private Date endTime;

    public void setData(){
        if(this.buyCardAccountIds!=null){
            this.buyCardAccountIdList =Arrays.stream(this.buyCardAccountIds.split(","))
                    .map(Integer::parseInt)
                    .collect(Collectors.toList());
        }
        if(this.useCardAccountIds!=null){
            this.useCardAccountIdList =Arrays.stream(this.useCardAccountIds.split(","))
                    .map(Integer::parseInt)
                    .collect(Collectors.toList());
        }
        if(this.cardTypes!=null){
            this.cardTypeList =Arrays.stream(this.cardTypes.split(","))
                    .map(Integer::parseInt)
                    .collect(Collectors.toList());
        }
    }
}
